package com.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class F1Unit {
    public static void F1(byte[] hash, byte[] keyword, int keywordlen, byte[] version, byte[] key, int flag) {
        try {
            MessageDigest sha256 = MessageDigest.getInstance("SHA-256");

            // 处理 flag
            sha256.update((byte) flag);

            // 处理 keyword
            for (int i = 0; i < keywordlen; i++) {
                sha256.update(keyword[i]);
            }

            // 处理 version 和 key
            for (int i = 0; i < DataUnit.KEY_LEN; i++) {
                sha256.update(version[i]);
                sha256.update(key[i]);
            }

            // 计算哈希值
            byte[] result = sha256.digest();
            System.arraycopy(result, 0, hash, 0, result.length);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
}
